Word processing programs and other types of programs may be executed on a computer system to allow the user to input text and then edit and manipulate the text into some desired form. Spreadsheet programs, general and specialized database programs, drafting or drawing programs, and other types of programs also give a user the ability to enter text, numbers, or other graphically displayed elements and to perform various edit operations on the entered material. Text, numbers, or other elements that can be displayed on a computer system display and edited through a computer program may be generically referred to as “objects.”
Computer programs commonly provide a convenient graphical user interface or GUI to graphically display tool bars containing various function “buttons” which may be selected by a user to initiate various operations, including edit operations. Edit operations may also be selected through drop-down or pop-up menus available through the GUI, or may be selected through predefined keystrokes on a keyboard associated with the computer system executing the program.
In order to perform an edit operation, the user must select the object to be edited and then select the edit operation to be applied or performed. The object selection step may be performed in a number of different fashions using a pointer control device for controlling the position of a pointer or cursor on the computer display or using the keyboard associated with the computer system. For example, an object may be selected using the pointer control device, such as a computer mouse, by clicking and dragging the pointer over the desired object appearing on the computer display. As another example, a function key on the keyboard or a function button on a GUI may be used to put the system in a select mode and then a cursor or pointer may be used to expand or contract a selected area on the computer display so as to encompass the desired object to be edited. Selecting the edit operation to be performed may involve pressing a keyboard key or key sequence. Alternatively, the edit operation may be selected using the pointer control device to position the pointer over a toolbar button or menu item displayed on the GUI, and then making an input through the pointer control device or keyboard to select the displayed button or menu item. This sequence of first selecting an object to be edited and then selecting the edit operation as a separate step may be referred to as “explicit selection.”
Applying a bold typeface to displayed text or numerals (a “bolding operation”) is an example of an edit operation that is commonly available in word processing and other programs. To perform the bolding operation by explicit selection, the user first selects the text which is to be presented in bold typeface and then selects the bolding operation. For example, where a single word in a sentence is to be bolded, the user may use the pointer control device to position the pointer at a start of the word to be bolded and then simultaneously press a key on the pointer control device and move the pointer over the entire word. Commonly, the program displays the selection by inverting the display to show the selected text as light letters on a dark background. The user may then release the pointer control device key and move the pointer on the GUI to a toolbar button and again click a key on the pointer control device. When the pointer control device key is pressed this last time, the bolding operation is applied to the selected word, leaving the word displayed in the desired bold typeface.
Explicit selection may be cumbersome depending upon a number of factors including the nature of the GUI employed by the program and the nature of the pointer control device through which the cursor or pointer is controlled on the GUI. For example, where a single word is to be edited, the user may be required to position the pointer at the start of the word, click a pointer control device key, and then drag the pointer to the end of the word. In this process, the user may inadvertently start the selection point after the start of the word or end the selection point somewhat before the end of the word. When this occurs, the user must un-select the incorrect selection and then start the selection process over from the beginning.
The granularity of selection may be changed in order to help the user better select the desired objects for editing. For example, U.S. Pat. No. 5,574,840 discloses a method for switching the minimum granularity of selection from a single character on the display to a full word. Placing the selection granularity at the level of a full word eliminates the problem of imprecisely selecting a single word or group of words for editing. However, even when the selection granularity level is increased as disclosed in U.S. Pat. No. 5,574,840, the editing operation must be invoked separately from the text selection step.